Exception Handling হলো এমন একটি প্রক্রিয়া যা প্রোগ্রামিং চলাকালীন ত্রুটি বা অপ্রত্যাশিত পরিস্থিতি সনাক্ত করে এবং সেই ত্রুটির জন্য একটি নির্দিষ্ট সমাধান প্রদান করে। Exception Handling-এর প্রধান উদ্দেশ্য হলো প্রোগ্রাম চলাকালীন ত্রুটি ঘটলেও প্রোগ্রাম যেন ধ্বংস না হয় এবং নির্দিষ্ট পদ্ধতিতে কার্যক্রম সম্পন্ন করতে পারে।
Apex-এ Exception Handling ত্রুটি সনাক্ত করে এবং তা যথাযথভাবে পরিচালনা করতে try, catch, finally ব্লক ব্যবহার করে। এটি প্রোগ্রামিংকে আরও নির্ভুল ও স্থিতিশীল করে তোলে, কারণ Exception Handling এর মাধ্যমে প্রোগ্রামের ত্রুটি সমাধান বা নির্দেশনা দেওয়া সম্ভব হয়।
try ব্লক: প্রোগ্রামের সেই অংশ যেখানে ত্রুটি ঘটার সম্ভাবনা রয়েছে, তাকে try
ব্লকের মধ্যে রাখা হয়। যখনই এই অংশে ত্রুটি দেখা দেয়, তখন Exception Handling এর প্রক্রিয়া শুরু হয়।
catch ব্লক: catch
ব্লক ব্যবহার করে ত্রুটির ধরন অনুযায়ী উপযুক্ত ব্যবস্থা নেওয়া যায়। ত্রুটি ঘটলে catch
ব্লক এক্সিকিউট হয় এবং ত্রুটি সমাধানের জন্য নির্দিষ্ট লজিক সম্পাদন করে।
finally ব্লক: finally
ব্লক এমন একটি অংশ, যা try
এবং catch
ব্লকের পরে অবশ্যই এক্সিকিউট হয়। এটি Exception ঘটুক বা না ঘটুক, সব ক্ষেত্রেই কার্যকর হয়। সাধারণত finally
ব্লক রিসোর্স রিলিজ বা ক্লিন-আপ কার্যক্রমের জন্য ব্যবহৃত হয়।
apex
Copy code
try {
// কোড যা ত্রুটি ঘটাতে পারে
} catch (ExceptionType e) {
// ত্রুটি সমাধানের জন্য লজিক
} finally {
// অতিরিক্ত কার্যক্রম, যা অবশ্যই কার্যকর হবে
}
NullPointerException
, DmlException
ইত্যাদি।getMessage()
বা getStackTraceString()
এর মাধ্যমে ত্রুটির বিবরণ দেখা যায়।নিচে একটি সাধারণ উদাহরণ দেয়া হলো যেখানে Division by Zero এর Exception Handling করা হয়েছে।
apex
Copy code
public class DivisionExample {
public void divideNumbers(Integer a, Integer b) {
try {
Integer result = a / b;
System.debug('Result: ' + result);
} catch (ArithmeticException e) {
System.debug('Cannot divide by zero: ' + e.getMessage());
} finally {
System.debug('Operation completed.');
}
}
}
try
ব্লকের মধ্যে a / b
অপারেশনটি রয়েছে, যা b
এর মান শূন্য হলে ত্রুটি সৃষ্টি করবে।catch
ব্লকে ArithmeticException
ধরার ব্যবস্থা করা হয়েছে এবং ত্রুটির একটি বার্তা প্রদর্শন করা হয়েছে।finally
ব্লকে একটি মেসেজ প্রিন্ট করা হয়েছে, যা Exception ঘটুক বা না ঘটুক সব অবস্থাতেই কার্যকর হবে।Apex এ কিছু সাধারণ Exception রয়েছে, যা প্রায়ই প্রোগ্রামিং চলাকালীন ঘটে। এর মধ্যে কয়েকটি হলো:
Exception Handling-এর মাধ্যমে প্রোগ্রামিংয়ে কিছু ব্যবহারিক সুবিধা পাওয়া যায়:
finally
ব্লক ব্যবহার করে অবশিষ্ট রিসোর্স যেমন ডেটাবেস কানেকশন বা ফাইল রিসোর্স বন্ধ করা যায়।নিচের উদাহরণে, একটি DML অপারেশনে Exception Handling দেখানো হয়েছে।
apex
Copy code
public class DmlExample {
public void createAccount(String name) {
try {
Account acc = new Account(Name = name);
insert acc;
} catch (DmlException e) {
System.debug('DML Error: ' + e.getMessage());
} finally {
System.debug('DML Operation Completed.');
}
}
}
insert
DML অপারেশনে Exception Handling করা হয়েছে। কোনো ত্রুটি ঘটলে catch
ব্লকে ত্রুটির বার্তা প্রিন্ট হবে, এবং finally
ব্লকে একটি মেসেজ প্রিন্ট হবে।Exception
না ধরে নির্দিষ্ট Exception টাইপ ধরার চেষ্টা করুন, যেমন DmlException
, NullPointerException
।finally
ব্লক ব্যবহার করুন: যেখানে সম্ভব, finally
ব্লক ব্যবহার করে রিসোর্স মুক্ত করুন।getMessage()
এবং getStackTraceString()
মেথড ব্যবহার করে ত্রুটির বিবরণ দেখান।try-catch
ব্লক বা nested exception এড়িয়ে চলুন।Exception Handling Apex প্রোগ্রামিং-এ একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, যা প্রোগ্রামকে ত্রুটি সহ্য করে চলমান রাখতে এবং ব্যবস্থাপনা কার্যক্রম উন্নত করতে সহায়ক।
common.read_more